package lanqiaobei2018;

public class _04第几个幸运数 {
    /**
     * 到x星球旅行的游客都被发给一个整数，作为游客编号。
     * x星的国王有个怪癖，他只喜欢数字3,5和7。
     * 国王规定，游客的编号如果只含有因子：3,5,7,就可以获得一份奖品。
     * 我们来看前10个幸运数字是：
     * 3 5 7 9 15 21 25 27 35 45
     * 因而第11个幸运数字是：49
     * 小明领到了一个幸运数字 59084709587505，他去领奖的时候，人家要求他准确地说出这是第几个幸运数字，否则领不到奖品。
     * 请你帮小明计算一下，59084709587505是第几个幸运数字。
     */
    public static void main(String[] args) {
        long n = 59084709587505l;
        long cnt = 0;
        for (long i = 1; i <= n; i *= 3) {
            for (long j = 1; j <= n; j *= 5) {
                for (long k = 1; k <= n; k *= 7) {
                    if (i * j * k <= n && i * j * k > 0) {
                        cnt++;
                    }
                }
            }
        }
        System.out.println(cnt - 1);
    }
}
